package com.ebei.admin.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ebei.admin.model.dto.OrgDTO;
import com.ebei.admin.model.entity.SysCompany;
import com.ebei.common.util.Query;
import com.ebei.common.util.Result;

import java.util.Map;

public interface SysCompanyService extends IService<SysCompany> {
    /**
     * 分页查询企业信息
     *
     * @param query 查询条件
     * @return
     */
    Page findCompanyListByParams(Query<Map<String, Object>> query);

    /**
     * 更新记录,,其中第二个参数是缓存的key
     *
     * @param map
     * @return
     */
    Result<Boolean> update(Map<String, Object> map) throws Exception;

    /**
     * 根据用户id查询所属企业
     * @param userId
     * @return
     */
    Result findByUserId(Integer userId);

    /**
     * 逻辑删除数据
     *
     * @param id
     * @return
     */
    Result delete(Integer id);

    /**
     * 禁用企业
     *
     * @param orgDTO
     * @return
     */
    Result lock(OrgDTO orgDTO);

    /**
     * 根据园区id查询公司json
     * @param parkId
     * @return
     */
    Result getCompanyJsonForYHPC(Integer parkId);

    /**
     * 分页获取所有公司信息 设备模块用
     * @param params
     * @return
     */
    Result<Page> getAllCompanyForDevice(Map<String, Object> params);

}
